home *** CD-ROM | disk | FTP | other *** search
- package sunw.demo.buttons;
-
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Font;
- import java.awt.Rectangle;
- import java.io.Externalizable;
- import java.io.IOException;
- import java.io.ObjectInput;
- import java.io.ObjectOutput;
-
- public class ExternalizableButton extends ExplicitButton implements Externalizable {
- private static final int currentMagic = -1431655766;
-
- public void writeExternal(ObjectOutput var1) throws IOException {
- var1.writeInt(-1431655766);
- Rectangle var2 = ((Component)this).getBounds();
- var1.writeInt(var2.x);
- var1.writeInt(var2.y);
- var1.writeInt(var2.width);
- var1.writeInt(var2.height);
- var1.writeUTF(((OurButton)this).getLabel());
- Color var3 = ((Component)this).getBackground();
- if (var3 == null) {
- var1.writeInt(0);
- } else {
- var1.writeInt(var3.getRGB());
- }
-
- Color var4 = ((Component)this).getForeground();
- if (var4 == null) {
- var1.writeInt(0);
- } else {
- var1.writeInt(var4.getRGB());
- }
-
- Font var5 = ((Component)this).getFont();
- if (var5 == null) {
- var1.writeInt(-1);
- } else {
- var1.writeInt(var5.getStyle());
- var1.writeInt(var5.getSize());
- var1.writeUTF(var5.getName());
- }
- }
-
- public void readExternal(ObjectInput var1) throws IOException, ClassNotFoundException {
- int var2 = var1.readInt();
- if (var2 != -1431655766) {
- throw new IOException("magic number mismatch for ExternalizableButton");
- } else {
- int var3 = var1.readInt();
- int var4 = var1.readInt();
- int var5 = var1.readInt();
- int var6 = var1.readInt();
- ((Component)this).setBounds(var3, var4, var5, var6);
- ((OurButton)this).setLabel(var1.readUTF());
- int var7 = var1.readInt();
- if (var7 != 0) {
- ((OurButton)this).setBackground(new Color(var7));
- }
-
- int var8 = var1.readInt();
- if (var8 != 0) {
- ((OurButton)this).setForeground(new Color(var8));
- }
-
- int var9 = var1.readInt();
- if (var9 >= 0) {
- int var10 = var1.readInt();
- String var11 = var1.readUTF();
- Font var12 = new Font(var11, var9, var10);
- ((OurButton)this).setFont(var12);
- }
-
- }
- }
- }
-